package gameobjects;

import gamecontrol.Box;

public class Element {
 
	private char id;
	 
	private Box box;
	 
	private int priority;
	 
	public final static int HeroPriority = 1;
	 
	public final static int FireFlyPriority = 2;
	 
	public final static int ButterFlyPriority = 2;
	 
	public final static int AmoebaPriority = 2;
	 
	public final static int WeightPriority = 2;
	 
	public final static int MagicWallPriority = 2;
	 
	public final static int ExpandingWallPriority = 2;
	 
	public final static int BeerPriority = 2;
	 
	public final static int DirtyTerrainPriority = 3;
	 
	public final static int CleanTerrainPriority = 3;
	 
	public final static int ExitPriority = 3;
	 
	public final static int WallPriority = 3;
        
        public final static char HeroId = 'H';
	 
	public final static char FireFlyId = 'F';
	 
	public final static char ButterFlyId = 'T';
	 
	public final static char AmoebaId = 'A';
	 
	public final static char WeightId = 'W';
	 
	public final static char MagicWallId = 'M';
	 
	public final static char ExpandingWallId = 'E';
	 
	public final static char BeerId = 'B';
	 
	public final static char DirtyTerrainId = 'D';
	 
	public final static char CleanTerrainId = ' ';
	 
	public final static char ExitId = 'O';
	 
	public final static char WallId = '+';
        
        /**
         * First Contructor
         * @param id
         * @param box
         * @param priority
         */
        public Element(char id, Box box, int priority){
            this.id = id;
            this.box = box;
            this.priority = priority;
        }
        
        /**
         * Second Constructor
         */
        public Element(){
            this.id = '-';
            this.box = null;
            this.priority = -1;
        }
        
	public Element destroy() {
		return null;
	}
	
        /**
         * 
         * @return the id
         */
	public char getId() {
		return id;
	}
	
        /**
         * 
         * @param id
         */
	public void setId(char id) {
                this.id = id;
	}
	
        /**
         * 
         * @return the box assigned
         */
	public Box getBox() {
		return this.box;
	}
	
        /**
         * 
         * @param box
         */
	public void setBox(Box box) {
            this.box = box;
	}
	
        /**
         * 
         * @return the priority to move the element
         */
	public int getPriority() {
		return this.priority;
	}
	
        /**
         * 
         * @param priority
         */
	public void setPriority(int priority) {
            this.priority = priority;
	}
	 
}
 
